Using Declarative Metaprogramming To Detect Possible Refactorings
نویسندگان
چکیده
In this paper, we advocate the use of declarative metaprogramming to detect violations of important (object-oriented) design guidelines and best practices. This is particularly useful for detecting when a design should be refactored, and which refactorings in particular should be applied. As we will show, a declarative environment incorporating metaprogramming capabilities is very well suited for detecting such violations and providing information for possible refactorings.
منابع مشابه
A Declarative Evolution Framework for Object-Oriented Design Patterns
Object-oriented design patterns and high-level refactorings are popular means of implementing and evolving large object-oriented software systems. Unfortunately, these techniques are inadequately supported at implementation level by current-day software development environments. To alleviate this problem, we propose to use the promising technique of declarative metaprogramming. It offers a tigh...
متن کاملIdentifying Refactoring Opportunities Using Logic Meta Programming
In this paper, we show how automated support can be provided for identifying refactoring opportunities, e.g., when an application’s design should be refactored and which refactoring(s) in particular should be applied. Such support is achieved by using the technique of logic meta programming to detect so-called bad smells and by defining a framework that uses this information to propose adequate...
متن کاملAn Integrated Development Environment for Declarative Multi-Paradigm Programming
In this paper we present CIDER (Curry Integrated Development EnviRonment), an analysis and programming environment for the declarative multi-paradigm language Curry. CIDER is a graphical environment to support the development of Curry programs by providing integrated tools for the analysis and visualization of programs. CIDER is completely implemented in Curry using libraries for GUI programmin...
متن کاملDeclarative Metaprogramming to Support Reuse in Vertical Markets
To eliminate the difficulties caused by the implicit nature of the natural relationship between domain models (and the corresponding delta-analyses) and framework instances, we aim to provide a mechanism for the construction of a bidirectional, concrete, active link between domain models and framework code by constructing a new instance of declarative metaprogramming. This instance supports a s...
متن کاملImplementing Refactorings in the Spoofax Language Workbench
Spoofax is a language workbench for efficient development of textual domain-specific languages together with state-of-the-art IDE support. Spoofax integrates language and IDE development into a single environment, using concise, declarative specifications for languages and IDE services. We are extending Spoofax with a framework for the implementation of refactorings. The current paper gives an ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002